הדרכה על ביצוע סימולציה וסינתזה עם Design Kit TOWER TSL 018

Similar documents
ASP.Net MVC + Entity Framework Code First.

המבנה הגאומטרי של מידה

לשרטוט חשמלי בתוכנת OrCad-Capture

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי


Visual C# Express Edition 2005

SPSS 10.0 FOR WINDOWS

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

מדריך למשתמש התקנה עצמית

מדריך לניהול VPS טריפל סי מחשוב ענן בע"מ.

מדריך שימוש בדואר האלקטרוני

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

הקלאסיות (לדוגמת,( EP610 סדרות MAX7000, MAX5000 וסדרת ה- FLEX FPGA. ב. Very High Speed Intgrated Circuits hardware description language - VHDL

מבוא למחשב בשפת פייתון

מדריך למשתמש התקנה עצמית

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

איתור במחסן הוא יחידת המרחב הקטנה ביותר שניתן להתייחס אליה, במחסן שבו מאוחסנות הסחורות שלך. מחסנים שורה 1 שורה 2 שורה 3

אנגלית (MODULE E) בהצלחה!

פקס בחיבור המכשיר המשולב לפקס יש לעבור על השלבים הבאים: - חבר את כבל הטלפון לחיבור ה- LINE בגב המדפסת ואת צידו השני לשקע הטלפון בקיר.

אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

מדריך שימוש והתקנה של office

בהגדרות ה AP..connections

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

Practical Session No. 13 Amortized Analysis, Union/Find

מדריך מקוצר Microsoft Office Word 2007

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

מבו א ל- VHDL אז מה י ה י ה לנ ו ה י ו ם... מהי שפת הגדרת חומרה ולשם מה דרושה תיאור, סימולציה, סינתזה

ãówh,é ËÓÉÔê ÌW W É Å t" Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית.

נתב / TP LINK TL WR541G / TL WR641G

שפת תיאור חומרה VHDL

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה.

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

מנגנון 5522 מידע על המנגנון מצב תצוגת שעה

מספר השאלון: הצעת תשובות לשאלות בחינת הבגרות אנגלית (MODULE C) מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי قاموس إنجليزي - إنجليزي - عربي

מבוא לתכנות ב- JAVA תרגול 7

מבוא לשפת C תירגול 1: מבוא מבוא לשפת סי - תירגול 1

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary

שאלון ו' הוראות לנבחן

קורס מטלב לפיסיקאים שיעור מס' 10: משתנים מורכבים

.Open-Drain Buffer ו Buffer סינכרונית.

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן

כניסה ליונת דואר פעולות בסיסיות בממשק הדואר, לוח השנה ואנשי הקשר

(MODULE E) ב ה צ ל ח ה!

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

NTFS ADS Magic Tricks

Patents Basics. Yehuda Binder. (For copies contact:

אנגלית שאלון ז' (MODULE G) ג רסה א' הוראות לנבחן )מילון אנגלי-ערבי / ערבי-אנגלי )

מבוא לשפת C מבוא לשפת סי - תירגול 1

מדריך למשתמש בשירות. yes MultiRoom

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור

שאלון ד' הוראות לנבחן

1.1. הקדמה (דיסק). מדריכי. (מחיצות) Link

/ פתיחת החשבון הכרחית רק למרצה / מתרגל ונעשית רק בעת הכניסה הראשונה.

שאלון ו' הוראות לנבחן

הרצאה מספר 10 נושאים לשיעור זה: סיכום הפקודות עד לשיעור זה *** )S-Q( = מקומות בהם ניתן לשלב תתי שאילתות

מדריך משתמש מערכת GISNet V3

מבוא לאסמבלי מאת אופיר בק חלקים נרחבים ממאמר זה נכתבו בהשראת הספר "ארגון המחשב ושפת סף" אשר נכתב ע"י ברק גונן לתוכנית גבהים של משרד החינוך.

Visual C# Express יסודות מדעי המחשב 1 מהדורת עיצוב תשס"ו 2006 כתבה: יעל בילצ'יק (סופרין)

הצעת תשובות לשאלות בחינת הבגרות אנגלית

FULL ARTICLE ACTIVE DIRECTORY

ןושאר קלח ינש קלח ישילש קלח יעיבר קלח ישימח קלח ישיש קלח יעיבש קלח

פיתוח מערכות ותוכנה בע"מממ גלבוע לחלונות BSP. Billing Settlement Plan. Gilboa for Windows חוברת הדרכה

א. כללי... 3 ג. מסך ראשי מערכת ניהול ציי רכב בזמן אמת...6 קיצורי דרך...7

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

תכניות סטנדרטיות ב UNIX שרשור פקודות באמצעות Pipeline עבודה ב- bash

תרגול 8. Hash Tables

Depth-First Search DFS

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

FULL ARTICLE ACTIVE DIRECTORY

חוק זכויות הסוכן חוק חוזה סוכנות )סוכן מסחרי וספק(

מספר מילה. you very hungry am דוגמאות: decision trees ההודעה.

מבנה ההרצאה חלק א' 1 (הסבר על הסימולטור.Torcs 2 (הסבר על תחרות EvoStar 2010 ביחד עם הדגמה של.GA חלק ב' הסבר על המאמר

הגדרות טלפון פוליקום בקישור הבא יש טבלה מסודרת שבה מופיעים כל סוגי הטלפון ולאיזה גירסא ניתן לשדרג

פרצות אבטחה נפוצות בהעלאת קבצים בעזרת PHP

A R E Y O U R E A L L Y A W A K E?

הקדמה בדיקת תמיכה ב- SSL מאת עידו קנר

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

ASTM UL / FM / BS abesco

תורשכ ירפס לכ ץבוק " ב י קלח יללכ רעש

מדור מערכות מידע פיננסיות

מבחן באנגלית בהצלחה הצלחה!!! שם פרטי: שם משפחה: מס' תעודת זהות: תאריך: שם מרכז מנהל מרכז השכלה: תאריך בדיקת המבחן: כל הזכויות שמורות למשרד החינוך

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.

מסנן סולארי: הוראות שימוש

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

Genetic Tests for Partners of CF patients

דגשים: הערות: John Bryce Linux Forum: (Linux) BIND Mini How-To (In Hebrew) על שרת Red Hat Enterprise Linux גרסא.5.

תרגול מס' 01 אלגוריתם דיניץ

מקוון Sharing and Playing: Serious Games and Collaboration in Online Education

Transcription:

הטכניון מ.ט.ל. הפקולטה להנדסת חשמל המעבדה ל VLSI חוברת הדרכה על כלי SYNOPSYS הדרכה על ביצוע סימולציה וסינתזה עם Design Kit TOWER TSL 018 גואל סמואל, אמנון סטניסלבסקי התחברות ממחשבי LinuxPC זאת הדרך המומלצת לעבודה. פשוט יש לבצע login לתחילת העבודה. טרמינל באמצעות Applications System Tools Terminal ניתן לפתוח חלון : User Manual ניתן לראות את כל הדוקומנטציה של כלי Synopsys ע"י הרצת הפקודה: vcsmx: acroread /tools/synopsys34/fev/vcs_mx_vh2013.06sp1/doc/userguide/pdf/vcsmx_ug.pdf designware: acroread /tools/synopsys34/fev/syn_vi2013.12/dw/doc/datasheets/data_int_overview.pdf לפני תחילת העבודה יש לבנות את הסביבה הנכונה. העתק את קבצי האתחול: mkdir design_sim cp /users/iit/synopsys/tsl018_20034_sim/.syn* design_sim mkdir design_sim/work cd design_sim עבור לספריית design_sim ורשום קבצי ה VHDL בספריה זאת: כל הקבצים שהכלים יוצרים נכתבים ב WORK הנמצאת ב.design_sim.1 סימולציה vcsmx verilog בעזרת הסימולטור vcsmx ניתן לבצע סימולציות של,VHDL.systemverilog הכלי מאפשר ביצוע הפעולות הבאות : הצגת והשוואה של צורות גל drivers הצגת הצגת סכמות ומסלולים UCLI/Tcl ביצוע של פקודות breakpoints קביעת ביצוע סימולציה בצעד בודד ו 1.1 סימולציית VHDL הרצת הסימולציה מורכבת משלשה שלבים :,analyze elaborate והפעלת ה gui כדלקמן: vhdlan debug file1.vhd file2.vhd Analyze vcs debug_all debug cfg_design Elaborate simv gui 1

בשורה הראשונה יפורטו שמות קבצי התכנון)כל שמות הקבצים המכילים את הבלוקים ותתי הבלוקים(. פקודת ה vcs תבצע אלבורציה, יש לפרט את שם הקונפיגורציה cfg_design כפי שמופיעה בקובץ ה level top של התכנון. הערה ניתן לבצע אלבורציה גם על top_entity vcs debug_all debug top_entity Elaborate שמספק את אותות הכניסה TestBench מקובל לבצע סימולציות באמצעות רכיב עזר (testbench) לתכנון. בדוגמא הבאה, jkff הוא התכנון אותו יש לבדוק : Library IEEE; USE IEEE.std_logic_1164.ALL; entity jkff is port (clk, j, k :in std_logic; q, qn :inout std_logic); end jkff; architecture arc_jkff of jkff is signal q_tmp, qn_tmp : std_logic; begin process(j, k, clk) begin if (j = '0') then if (k = '0') then q_tmp <= q; qn_tmp <= qn; else q_tmp <= '0'; qn_tmp <= '1'; end if; elsif (k = '0') then q_tmp <= '1'; qn_tmp <= '0'; else q_tmp<= qn; qn_tmp<= q; end if; end process; process begin wait until clk'event and clk = '1' ; q <= q_tmp; qn <= qn_tmp; end process; end arc_jkff; configuration cfg_jkff of jkff is for arc_jkff end for; end cfg_jkff; 2

jk_test מספק אותות כניסה ל jkff ו jk_test_topמחבר ביניהם : library IEEE; use IEEE.std_logic_1164.all; entity jk_test is PORT (j, k : OUT STD_LOGIC; clk : INOUT STD_LOGIC); end jk_test; architecture arc_jk_test of jk_test is begin PROCESS BEGIN WAIT FOR 5 ns; IF clk='0' THEN clk <= '1'; ELSE clk <= '0'; END IF; END PROCESS; PROCESS BEGIN WAIT FOR 20 ns; j <= '0'; k <= '1'; WAIT FOR 40 ns; j <= '1'; k <= '0'; WAIT FOR 40 ns; k <= '1'; WAIT FOR 40 ns; j <= '0'; k <= '0'; WAIT FOR 60 ns; END PROCESS; end arc_jk_test; configuration cfg_jk_test of jk_test is for arc_jk_test end for; end cfg_jk_test; library IEEE; use IEEE.std_logic_1164.all; entity jk_test_top is PORT (q, qn : INOUT STD_LOGIC); end jk_test_top; architecture arc_jk_test_top of jk_test_top is SIGNAL clk, j, k : STD_LOGIC; COMPONENT jk_test PORT (j, k : OUT STD_LOGIC; clk : INOUT STD_LOGIC); END COMPONENT; COMPONENT jkff PORT (clk, j, k : IN STD_LOGIC; q, qn : INOUT STD_LOGIC); END COMPONENT; BEGIN u1 : jk_test PORT MAP(j, k, clk); u2 : jkff PORT MAP(clk, j, k, q, qn); end arc_jk_test_top; configuration cfg_jk_test_top of jk_test_top is FOR arc_jk_test_top FOR u1 : jk_test USE ENTITY WORK.jk_test(arc_jk_test); END FOR; FOR u2 : jkff USE ENTITY WORK.jkff(arc_jkff); END FOR; END FOR; end cfg_jk_test_top; 3

תיאור הממשק הגרפי קליק כפול על שם של בלוק או תת בלוק יציג את רשימת הסיגנלים, הכניסות והיציאות שלו. להצגת צורת גל יש לבחור את הסיגנל וללחוץ על הכפתור הימני של העכבר לבחור: )recent או new( Add To Wave להרצת הסימולציה בחלון ה wave יש לבחור את יחידות הזמן הרצויות בצד שמאל הוא ב ps. בחלונית מתחת ניתן, ה default למעלה. יש ללחוץ על החץ להרצה. כמו כן ניתן לבחור את זמן הריצה, לרשום run N בשורת הפקודה כאשר N מסמן את מספר יחידות הזמן שברצונך להריץ.. ניתן לבצע zoom באמצעות לחצני File שומר מצב הריצה. ניתן לשחזר אותה עם FileSave Session.Load Session בחירת שם בתת החלון הימני יאפשר ביצוע מספר גדול של מפעולות שיכולים לסייע לסימולציה. מספר דוגמאות : Show schematic o Show Path Schematics o Trace Drivers o Trace Loads o Follow Signal o Annotate Values מציג את הערכי הסיגנלים על הקוד o ועוד... o 4

Verilog 1.1 סימולציית,analyze בדומה ל VHDL גם במקרה זה הרצת הסימולציה מורכבת משלשה שלבים : elaborate ופעלת ה gui כדלקמן: vlogan debug file1.v file2.v Analyze vcs debug_all debug top_module Elaborate simv gui בשורה הראשונה יפורטו שמות קבצי התכנון)כל שמות הקבצים המכילים את הבלוקים ותתי הבלוקים(. פקודת ה vcs תבצע אלבורציה, יש לפרט את שם ה top_module כפי שמופיעה בקובץ ה level top של התכנון. יש להוסיף +v2k לשורת vlogan במידה וקוד ה Verilog נכתב בתקן 1002. )עבור עבודה עם 46 ביט יש לפנות לצוות המעבדה(. במידה והקוד הוא כולו,Verilog ניתן להריץ את שלשת השלבים ביחד בעזרת הפקודה הבאה: vcs R gui full64 debug_all design.v הסבר על הממשק הגרפי מופיע בסעיף הקודם. Testbench גם ב verilog מקובל לבצע סימולציות באמצעות רכיב עזר (testbench) שמספק את אותות הכניסה לתכנון. בדוגמא הבאה, flop הוא התכנון אותו יש לבדוק : module flop_test; reg data, clock; flop f1 (clock, data, qa, qb); initial begin clock = 0; data = 0; #10000 $finish; end always #100 clock = ~clock; always #300 data = ~data; endmodule module flop (clock, data, qa, qb); input clock,data; output qa, qb; nand #10 nd1 (a, data, clock), nd2 (b, ndata,clock), nd3 (qa, a, qb), nd4 (qb, b,qa); mynot nt1 (ndata, data); endmodule module mynot (out, in); output out; input in; not(out,in); endmodule ניתן להפעיל את הסימולציה באמצעות הפקודה : vcs R gui debug_all flop_test.v flop.v 1.1 סימולציית SystemVerilog עבור שפת SystemVerilog יש להוסיף את האופציה sverilog לפקודה הקומפילציה. 1.1 סימולציה מעורבת 5

ניתן לבצע סימולציות המערבות קוד VHDL ו verilog. ראשית מבצעים vlogan או vhdlan לכל הקבצים בהתאם לשפה. לאחר מכן, אם ה top_level הוא Verilog יש להשתמש בפקודה vcs הבאה : vcs debug_all debug top_module ואם ה top_level הוא VHDL יש להשתמש בפקודה vcs הבאה : vcs debug_all debug cfg_design.2 סינתזה vision Design חשוב : עליך לבקש מאחראי המעבדה גישה לקבצי tower לפני תחילת הסינתזה. להכנת סביבת הסינתזה יש ליצור ספרייה חדשה בשם design_syn בעזרת הפקודה הבאה: mkdir design_syn cp /users/iit/synopsys/tsl018_20034_syn/.syn* design_syn mkdir design_syn/work עליך להפעיל את כלי הסינתזה מתוך ספריה זאת. קבצים המיוצרים על ידי הכלי מאוחסנים בספרייה ששמה WORK שנוצרת בתוך.design_syn לאחר יצירת הספרייה עבור אליה עם : cd design_syn ה Compiler Design )או Design Vision בגרסתו הגרפית( הוא כלי הסינתזה של חברת.Synopsys הכלי מקבל כקלט תאור VHDL )או )Verilog ויוצר כפלט מעגל ברמת השערים המממש את ה.VHDL הכלי מופעל באמצעות הפקודה design_vision שגורם לפתיחה של חלון גרפי המאפשר הרצת פקודות מתוך תפריטים. כל פקודה שנריץ בעזרת הממשק הגרפי תופיע גם בחלון ה terminal ממנו הרצנו את הכלי. נוכל להריץ גם פקודות על ידי כתיבתם בחלון ה terminal. נוכל גם לרשום את כל הפקודות בקובץ אחד )כל פקודה בשורה נפרדת( ולהריץ את כל הקובץ בבת אחת על ידי File Execute Script ניתן לקבל את קובץ כל הפקודות שהרצנו ע"י File Save Info Design Setup :help בצד ימין של התפריט הראשי, מופיע כפתור הפקודות וכל המשתנים של.design_vision.help בעזרתו ניתן לקבל הסברים של כל *שילוב זיכרונות RAM )חלק א'( את השלב הבא יש לבצע במידה וזיכרונות ה RAM של הפרויקט נוצרו באמצעות הכלי של tower ובאמצעות המדריך Using Tower 0.18u RAM memories המופיע באתר. במידה ויש לכם זיכרונות אחרים ניתן לדלג על שלב זה. עבור Module ה RAM לא תתבצע סינתזה. יש ליצור קובץ בשם mem.v למשל המכיל הגדרה ריקה של הזיכרון לדוגמא : module mymem ( A, CEB, WEB, OEB, CSB, I, O); input [7:0] A ; input CEB ; input WEB ; input OEB ; input CSB ; input [31:0] I ; output [31:0] O ; 6

endmodule כאשר mymem הוא שם הזיכרון. ניתן להעתיק את המודול מקובץ ה Verilog )או )VHDL שבו השתמשת בסימולציה. סינתזה שלבי הביצוע: 2( קריאת קבצי ה VHDL/verilog ובדיקתם לשגיאות.syntax לחץ על File Analyze בחלון שנפתח יש ללחוץ add בחלון שנפתח יש לבחור את כל קבצי התכנון )כולל קובץ הזיכרון( וללחוץ.OK יש לחזור על פעולות אלו עד שנקרא את כל קבצי התכנון )אין חשיבות לסדר בו קוראים את הקבצים(. קישור (link) של הקבצים ומיפויים לשערים לוגים )סינתזה ללא תלות בטכנולוגיה(. לחץ על,File Elaborate בחלון שנפתח בחר את ה top level )התכנון הראשי שמכיל את שאר התכנונים(, סמן ב V את הריבוע Reanalyze outofdate libraries ולחץ על.OK בתום שלב זה יופיע שם התכנון שבחרנו וכל היחידות אותו הוא מכיל בחלון ה.logical hierarchy על ידי לחיצה על הכפתור הימני על שם התכנון יפתח תפריט בו ניתן לבחור לראות את הסכמה שנוצרה ע"י schematic view ולראות את תכונות היחידה על ידי.Properties )חלון זה מכיל מידע על היחידה ואפשר דרכו לסמן אותה כ dont )touch אם קיים זיכרון, יש לבצע עם את הפעולות הבאות : read_lib memory_typ.lib write_lib memory_typ format db כאשר memory_typ.lib הוא קובץ ה *.lib של הזיכרון. אופטימיזציה ומיפוי לשערי ספרייה )סינתזה תלוית טכנולוגיה(. לפני ביצוע שלב זה יש להגדיר את אילוצי התכנון )אופציונאלי ראה "הגדרת אילוצים"( על ידי האפשרויות השונות שבתפריט ה attributes או על ידי קריאת קובץ אילוצים בעזרת.File Execute Script )דלג על שלב זה אם אין ברשותך אילוצים.( כמו כן ניתן לבצע בדיקה של התכנון בשלב זה ולאתר תקלות באמצעות.Design Check Design בדוק שבחלון הקטן למעלה מופיע שם היחידה העליונה. לחץ על Design Compile.Design בחלון שנפתח ניתן לבחור את כמות העבודה שהכלי ישקיע בכל שלב על ידי שינוי הבחירה באפשרויות ה,effort השארת האפשרויות הבסיסיות מאפשרת קבלת תוצאות טובות, לסיום לחץ.OK במידה ותהליך הסינתזה הסתיים כראוי, כל הרכיבים יופיעו עם סימן and אפור )מלא(. ניתן לראות schematic של תא ספציפי על ידי לחיצה על שמו ומקש ימני בעכבר:,Schematic view לצפייה במעגל כולו יש לבצע זאת על ה.Top cell )1 )3 )6 5( חשוב : כעת עליך לבצע בדיקה של התכנון כדי לאתר תקלות באמצעות.Design Check Design עליך לעבור בקפידה על הפלט של הפקודה. חשוב לקרוא את כל ה warnings ולתקן את כל התקלות בתכנון. הערה : ניתן לשמור את הפלט של ה design_vision בקובץ ע"י בחירת as save content שמופיע בתפריט options בצד ימיני התחתון של החלון כדי להקל מציאת ה.warnings שמירת התוצאות לחץ על File Save ובחר בשדה Format את הפורמט הרצוי. וודא כי.Save מסומן ולחץ hierarchy הגדרת אילוצים Save All designs in 7

ניתן להגדיר מגבלות/אילוצי אופטימיזציה על תהליך הסינתזה, כמו הגבלות זמן על המסלול הארוך ביותר, קביעת שעון למעגל, שטח התכנון וכד', הכלי יסנתז את התכנון בהתאם לאילוצים אלו. את האילוצים ניתן לכתוב בקובץ סקריפט יעודי עם סיומת.tcl יש להריץ את הסקריפט לאחר שלב הטעינה ולפני שלב הסינתזה באמצעות.File Execute script פקודה להגדרת שעון, דוגמא : create_clock name "CLK" period 50 waveform {0 25} clock create_clock מגדירה אות שעון על ההדק CLK בעל מחזור,50ns המתחיל ב 0 ועולה ל 2 בזמן.25ns set_max_delay קובע אילוץ של השהיה המרבית בין צמתים שונים במעגל. דוגמא : set_max_delay 10 to D[*] הכלי ינסה לבנות מעגל כך שההשהיה בין כל צומת במעגל לצמתים ששמם מתאים ל [*]D לא תעלה על.10ns אין ודאות שהכלי יצליח לסנתז מעגל כזה. set_max_area קובע אילוץ לגבי השטח הכולל של המעגל. set_input_delay מאפשר למשתמש להגדיר מתי )ביחס לעליית השעון( אותות הכניסה מוכנים. set_output_delay מאפשר למשתמש להגדיר מתי )ביחס לעליית השעון( אותות היציאה צריכים להיות מוכנים. set_dont_touch block_name מורה לכלי לא לסנתז בלוק מסוים. balance_registers מאזן את ההשהיות בכל דרגות הצינור. האיזון מתקבל ע"י הזזה אוטומטית של לוגיקה קומבינטורית משלבים עמוסים של ה pipe לשלבים פחות עמוסים תוך כדי שמירה על הנכונות הלוגית. הפקת דוחות מסלול קריטי:,Timing Report Timing Path לחץ.OK בתחילת הדו"ח שנוצר ניתן לראות פרטים על הטכנולוגיה שבה נעשה השימוש, בטבלה ניתן לראות את זמני ההשהיה של כל תא )ב ns ( סה"כ הזמן עבור המסלול הקריטי מופיע בתחתית הדוח ב time data arrival )ב ns (, במידה והוגדרו אילוצים על זמן קריטי/מקסימלי תופיע שורה המציינת אם התכנון עמד באילוץ met/violated) :(slack שטח : באמצעות,Design Report area לחץ.OK בדו"ח ניתן לראות את השטח שמאוכלס על ידי הלוגיקה הצרופית ושאינה צרופית והרשת )חוטים(, היחידות הן 0.5 מיקרומטר בריבוע. צריכת הספק : באמצעות Design Report power שימוש ברכיבי DesignWare 8

(DW) DesignWare היא ערכה של.Synopsys ערכה זו מכילה מימושי VHDL ו Verilog של רכיבים ומאפשרת למשתמש לשלבם בתהליך כתיבת הקוד )למשל שימוש ב carry lookahead עבור פעולת סיכום מסוימת או מימושי זכרונות FIFO מסוגים שונים(. כדי שהכלים ימצאו את כל היחידות הדרושות יש לציין באיזה ספריות להשתמש. זה נעשה על ידי הוספת השורות הבאות בתחילת קובץ ה :VHDL library IEEE,DWARE,DW01,DW02,DW03; use IEEE.std_logic_1164.all; use ieee.std_logic_arith.all; use DW01.DW01_components.all; use DW02.DW02_components.all; use DW03.DW03_components.all; ניתן להשתמש ב DW במספר שיטות: א. inference בדרך זאת קוראים לפונקציה שברצוננו להשתמש כגון כפל כפי שמופיע בדוגמא הבאה: 1 library IEEE,DWARE,DW01,DW02; 2 use IEEE.std_logic_1164.all; 3 use ieee.std_logic_arith.all; 4 use DW01.DW01_components.all; 5 use DW02.DW02_components.all; 6 7 entity mymult is 8 port ( 9 a, b : in std_logic_vector(15 downto 0); 10 CLK : in std_logic; 11 product : out std_logic_vector(31 downto 0)); 12 end mymult; 13 14 architecture arc_mult of mymult is 15 16 begin 17 18 product <= a * b; 19 product <= std_logic_vector(dwf_mult_4_s(signed(a),signed(b),clk)); 20 21 end arc_mult; שים לב ששורה 21 גורמת לשימוש במכפל מצונר בעל 6 דרגות. ניתן היה גם להשתמש בקריאה כפי שמופיעה בשורה 21 )שנמצא ב,)comment במקרה הזה ה DW היה משתמש במכפל מקבילי. ב. Instantiation בשיטה זאת משתמשים בתיאור מבני של ארכיטקטורה ופשוט מציבים בלוקים של ה.DW דוגמא : library IEEE,DWARE,DW01; 2 use IEEE.std_logic_1164.all; 3 use DW01.DW01_components.all; 4 use DWARE.DWpackages.all; 5 6 entity DW01_add_ci_co_test is 7 port ( 8 a, b : in std_logic_vector(31 downto 0); 9 cin : in std_logic; 10 sum : out std_logic_vector(31 downto 0); 11 cout : out std_logic); 12 end DW01_add_ci_co_test; 9

13 14 architecture inst of DW01_add_ci_co_test is 15 16 begin 17 18 U1 : DW01_add 19 generic map ( width => 32 ) 20 port map (a, b, cin, sum, cout ) ; 21 22 end inst; 21 הערה : משפט ה generic map המסכם. שבשורה בקוד הנ"ל מאפשר למשתמש לקבוע את רוחב ג. Set_implementation משתמשים בדך זאת מתוך ה Design vision בעזרת הפקודה,set_implementation לדוגמא: set_implementation type U1 type מציין את סוג המעגל הדרוש ( cla או clf למשל עבור מסכם( ו U1 מציין עבור איזה יחידה בסכמה. חשוב : להמשך העבודה דרוש קובץ verilog של המעגל המסונתז. ניתן ליצור את הקובץ ב. verilog ובחירת פורמת File Save as בעזרת Design Vision שילוב RAM בתכנון בסינתזה אם התכנון מכיל זכרון,RAM יש לקרוא את קובץ ה VHDL ל Design Vision כפי שהוסבר, אבל אין לקרוא את הקובץ שמכיל את תיאור ה RAM עצמו. כלומר, קוראים את הרמה שמכילה את התיאור המבני של ה RAM בלבד. לפני ביצוע Design Compile Design ולאחר ביצוע ה Elaborate לתכנון, סמן את תא ה,RAM הקש מקש ימני ו properties. בשורה של don't touch סמן.true כעת הזכרון לא יעבור סינתזה. בצע סינתזה כפי שהוסבר ושמור את התכנון לקובץ.Verilog יש לערוך את קובץ ה Verilog ולהוסיף )בסוף הקובץ( תיאור ריק של ה,RAM לדוגמא: module dpram1024x16 ( CSA, CSB, NRSTA, NRSTB, ENA, ENB, RDA, RDB, WRA, WRB, ADA, ADB, DIA, DIB, DOA, DOB ;) input CSA ; input CSB ; input NRSTA ; input NRSTB ; input ENA ; input ENB ; input RDA ; input RDB ; input WRA ; input WRB ; input [9:0] ADA ; input [9:0] ADB ; input [15:0] DIA ; input [15:0] DIB ; output [15:0] DOA ; output [15:0] DOB ; endmodule 11

יצירת קובץ )Standard Delay Format( SDF קובץ ה sdf מכיל נתוני השהיה של התכנון המסונתז. קיומם של שערים וקווים )חוטים( "פיסיקליים" בתכנון המסונתז גורם להשהיות. קובץ ה sdf מכיל נתוני השהיות אלו ובעזרתו ניתן לבצע סימולציות דיגיטליות )באמצעות )NCSIM,VCS ואנליזות ( Prime Design Vision, )Time מדויקות יותר ותואמות למציאות הפיסיקלית של התכנון. בחר ביחידה העליונה ורשום ב :command window write_sdf your_design_name.sdf 1. סימולציה של מעגל מסונתז ושימוש בקבצי SDF סימולציה של מעגל מסונתז שונה מסימולציה רגילה משום שהיא מתחשבת בהשהיותיהם של השערים והקווים )באמצעות קובץ ה sdf ( ולכן סימולציה מסוג זה מציגה גם השהיות. וודא ששרוה זאת קיימת בקובץ.cshrc שלך: source /hm/iit/synopsys/source_synopsys01lnx כדי לבצע סימולציה כזאת, יש לבצע את הפעולות הבאות: א. ב. ג. ליצור תיאור VHDL של המעגל המסונתז. ב Design Vision בצע File Save As לשמור בפורמט הרצוי. בקוד ה VHDL המסונתז, עליך להוסיף את השורות הבאות לפני כל :entity library FS120; use FS120.TSL18FS120_COMPONENTS.all; את השלב הבא ניתן לעשות בשתי דרכים, בדרך הראשונה יש להוסיף קונפיגורציה בצורה הבאה: configuration CFG of DESIGN is for SYN_BEH end for; end CFG; כאשר Design הוא שם התכנון ו SYN_BEH הוא שם הארכיטקטורה, ויש לבצע את פקודת ה.CFG להלן על הקונפיגורציה vcs top_entity במקום על הקונפיגורציה. בצע את הפקודות הבאות: דרך שנייה על ידי ביצוע פקודת vcs להלן על ה vlogan vlog_files_names vhdlan vhdl_files_names vcs debug configuration_name or top_entity instead simv sdf testbench_entity_name/design_portmap_name:sdf_file.sdf gui יוצר קובץ כמו כן mux2_mapped.vhdl בוצע סינתוז לקובץ MUX2 דוגמא עבור תכנון של שם,MUX2_TB בשם top_entity מכיל ה Testbench קובץ.mux2.sdf הארכיטקטורה בקובץ זה הוא MUX2_TB_arch ושם האינסטנס map) (port של MUX2 הוא,MUX2_PM לכן יתבצע: vhdlan mux2_mapped.vhdl testbench.vhdl vcs debug MUX2_TB simv sdf MUX2_TB/MUX2_PM:mux2.sdf gui אם הפקודות מתבצעות בהצלחה, ניתן להריץ סימולציה כפי שעשית על הקוד ההתנהגותי. חשוב לציין שמתבצעת כאן סימולציה ברמת השערים הלוגיים וההשהיות האמיתיות נלקחות בחשבון. 11